package lambda;

import java.util.ArrayList;
import java.util.Collection;
import java.util.function.Consumer;

/**
 * JDK8之后，集合提供了forEach方法，可以基于lambda表达式遍历
 */
public class LambdaDemo2 {
    public static void main(String[] args) {
        Collection<String> c = new ArrayList<>();
        c.add("one");
        c.add("two");
        c.add("three");
        c.add("four");
        c.add("five");
        System.out.println(c);
        //新循环写法
        for(String e : c){
            System.out.println(e);
        }
        /*
            如果参数列表只有一个参数时，参数列表的"()"也可以忽略不写
         */
        c.forEach(e->System.out.println(e));
        /*
            当lambda表达式的参数列表与表达式中调用的方法参数列表一致时
            可以简写为【方法引用】。
            格式:
            对象::方法
            例如:
            e->System.out.println(e);
            ^                     ^
            |-------一样-----------|
            可以写成:
            System.out::println;

            如果调用静态方法则为:
            类名::方法
         */
        c.forEach(System.out::println);
    }
}




